package main

import "fmt"

func main() {
	e1, e2 := "kk", []string{"kk", "silence"}

	// fmt.Printf("e1: %p %v\n", &e1, e1)
	// func(e string) {
	// 	fmt.Printf("e: %p %v\n", &e, e)
	// 	e = "silencea"
	// }(e1)

	// fmt.Printf("e2: %p %v\n", &e2, e2)
	// func(e []string) {
	// 	fmt.Printf("e: %p %v\n", &e, e)
	// 	e[1] = "lll"
	// }(e2)

	// fmt.Println(e1, e2)
	fmt.Println("==============")

	fmt.Printf("e1: %p %v\n", &e1, e1)
	func(e *string) {
		fmt.Printf("e: %p %v\n", e, *e)
		*e = "lwq"
	}(&e1)

	fmt.Printf("e2: %p %v\n", &e2, e2)
	func(e *[]string) {
		fmt.Printf("e: %p %v\n", e, *e)
		(*e)[1] = "qqq"
	}(&e2)
	fmt.Println(e1, e2)
}
